There are several known computer applications for transforming input graphics from vector representations to raster representations. For example, such a transformation is needed to display computer graphics on a display device, such as a computer monitor, or to display computer graphics on a page using a printing device, such as a laser beam printer.
A computer application, such as a word processor, can provide input graphics to an output device for display in the form of a high level description of the page or scene to be rendered, as opposed to a raster image of the graphics to be displayed or printed. This high level page description typically comprises high level graphics such as path data, text, and fill information (including flat colours, linear gradients and images). The high level description is provided to device driver software of the device either in the form of a Page Description Language (PDL) file, such as Adobe PostScript™ or Hewlett-Packard PCL™, or in the form of function calls to a graphical interface, such as the Graphical Device Interface™ (GDI) in the Microsoft Windows™ operating system, or X-11 in the Unix™ operating system. The page is typically rendered by an object-based graphics system, also known as a Raster Image Processor (RIP).
As input graphics vary in complexity, it cannot however generally be guaranteed that the output device can render any given collection of input graphics in real time. Hence, the input graphics are typically transformed into a simpler form before being sent to the output device. In typical RIPs the simpler form is an entire page of pixels in memory or on a hard disk drive that is shipped to the output device.
This approach has a number of problems. Firstly, the page is rendered to pixels at the output device resolution. This requires a large amount of memory to store the pixel data. Even after applying a compression algorithm such as Joint Photographic Experts Group (JPEG), the amount of data can still be significant. This approach is also sensitive to an increase in either output display resolution and/or output image dimensions. Thus for example doubling the output image resolution increases the amount of memory required to store pixel data by a factor of four.
Another problem with this approach is that in order to achieve a significant reduction in the memory requirements of the output display device, a lossy image compression algorithm such as JPEG, is typically required. This results in a loss in the quality of the rendered output. Such quality degradation is particularly evident when the compression algorithm is applied to sharp edges commonly found in text and graphic regions of the page, resulting in undesirable visual artifacts.